/**
 * 项目名称: 顺序查找.cpp
 * 项目路径: study/DataStructure/数据结构/查找
 * 编辑时间: 2024年08月19日10时31分18秒
 * 用   户: 轻尘
 */

#include <bits/stdc++.h>

using namespace std;

struct SSTable {
    int *elem;//动态数组基地址
    int tableLen;//表的长度
};

//顺序查找
int Search_Seq(SSTable ST, int key) {
    int i;
    for (int i = 0; i < ST.tableLen && ST.elem[i] != key; ++i)
        //查找成功,则返回元素下标;否则返回-1
        return i == ST.tableLen ? -1 : i;
}

//哨兵顺序查找
int Search_Seq(SSTable ST,int key){
    ST.elem[0]=key;//'哨兵'
    int i;
    for(int i=ST.tableLen;ST.elem[i]!=key;--i);//从后向前找
    return i;//查找成功返回i,否则返回0
}